/**
 * 使用递归算法完成阶乘：1!+2!+3!+4!+5!
 */

public class Recursion03 {
    public static void main(String[] args) {
        int sum=0;
        for (int i=1;i<=5;i++){
            sum +=factorial(i);
        }
        System.out.println(sum);//递归相加的结果
    }

    //对于方法，void出现时不需要返回值，其它的情况都要return
    public static int factorial(int n) {

        if (n == 1) {
            return 1;//递归结束
        } else {
            return n * factorial(n - 1);//以n=5为例，5*factorial(4)=5*4!
        }
        /*
        这里的for要写在main方法里，不可以写在递归方法里
        由于if判断只有两种情况，if，else，所以下面的代码是不会走的
        int sum1=0;
        for(int i=1;i<=5;i++){
            sum1 +=factorial(i);
        }
        System.out.println(sum1);
        return sum1; */
    }
}
